<?php
require_once 'ConnectDB.php';
require_once 'NguoiDungDTO.php';
/** 
 * @author Thu Ha
 * 
 * 
 */
class NguoiDungDAO extends ConnectDB {
	//TODO - Insert your code here
	function NguoiDungDAO()
	{
	}
	/**
	 * 
	 * Enter description here ...
	 * @param unknown_type $nguoidungDto
	 */
	public  static  function ThemNguoiDung($nguoidungDto )
	{
		$result = true;
		try 
		{
			if (!ConnectDB::OpenConnection())
				return false;
			
				$strSQL = "insert into nguoi_dung(`MaNguoiDung`, `MaLoaiND`, `MaGianHang`, `UserName`, `HoTen`, `NgaySinh`, `GioiTinh`, `DiaChi`, `MatKhau`, `Email`, `TinhTrang`, `AnhDaiDien`)
				values ('$nguoidungDto->MaNguoiDung',
						'$nguoidungDto->MaLoaiND',
						'$nguoidungDto->MaGianHang',
						'$nguoidungDto->UserName',
						N'$nguoidungDto->HoTen',
						'$nguoidungDto->NgaySinh',
						$nguoidungDto->GioiTinh,
						'$nguoidungDto->DiaChi',
						'$nguoidungDto->MatKhau',
						'$nguoidungDto->Email',
						$nguoidungDto->TinhTrang,
						'$nguoidungDto->AnhDaiDien');";
				$result = mysql_query($strSQL, ConnectDB::$mLink);
				//echo $strSQL;
				ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	/**
	 * * cập nhật thông tin người dùng 
	 * Thu Hà
	 * 24/6/2011
	 */
	public  static  function CapNhatThongTinNguoiDung($nguoidungDto )
	{
		$result = true;
		try 
		{
			if (!ConnectDB::OpenConnection())
				return false;
								
			$strSQL = "UPDATE `nguoi_dung` 
						SET `HoTen` = '$nguoidungDto->HoTen',
						`NgaySinh` = '$nguoidungDto->NgaySinh',
						`GioiTinh` = $nguoidungDto->GioiTinh,
						`DiaChi` = '$nguoidungDto->DiaChi'	
						WHERE `MaNguoiDung` = $nguoidungDto->MaNguoiDung";
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} 
		catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	/**
	 * cập nhật tình trạng người dùng
	 * edit by Anh Vu 25/6/2011
	 * $tinhTrang: 1-chưa kích hoạt, 2-đã kích hoạt, 3-vô hiệu, 4-bị xoá
	 */
	public  static  function CapNhatTinhTrangNguoiDung($maNguoiDung, $tinhTrang)
	{
		$result = true;
		try 
		{
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "UPDATE nguoi_dung SET  TinhTrang = '$tinhTrang' WHERE MaNguoiDung = '$maNguoiDung'";
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} 
		catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	
	/**
	 * Đổi mật khẩu 
	 * edit by Thu Hà 24/6/2011
	 */
	public  static  function DoiMatKhau($matKhauMoi, $maNguoiDung)
	{
		$result = true;
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "UPDATE `nguoi_dung` SET `MatKhau` = '$matKhauMoi' WHERE `MaNguoiDung` = $maNguoiDung" ;
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	
	/**
	 * Cập nhật avatar
	 * edit by Huy Phúc 18/12/2011
	 */
	public  static  function CapNhatAvatarNguoiDung($target_path, $maNguoiDung)
	{
		$result = true;
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "UPDATE `nguoi_dung` SET `AnhDaiDien` = '$target_path' WHERE `MaNguoiDung` = $maNguoiDung" ;
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	/**
	 * Đổi mật khẩu khi mất mật khẩu- modify by Minh Quang
	 */
	public  static  function DoiMatKhau_LossPassword($new_password, $username, $email)
	{
		$result = true;
		try {
			if (!ConnectDB::OpenConnection())
				return false;
			
			$strSQL = "	UPDATE nguoi_dung
						SET MatKhau = '$new_password'
						WHERE UserName = '$username' and Email = '$email'
						";
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	
	/**
	 * Lấy ds người dùng
	 * Edit by THu Hà 20/6/2011
	 * 1- Chưa kích hoạt, 2-kích hoạt, 3-vô hiệu, 4-xóa, 5-tất cả
	 */
	public  static  function LayDanhSachNguoiDung($tinhTrang)
	{
		$lstNguoiDung = array();
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "select * from `nguoi_dung`";
			if ($tinhTrang != 5)
				$strSQL .= " WHERE `TinhTrang` = $tinhTrang;";
				
			$result = mysql_query($strSQL, ConnectDB::$mLink);			
			if(!$result)
				$lstNguoiDung = array();
			while ($row = mysql_fetch_array($result))
			{
				$nguoiDungDto = new NguoiDungDTO();
				$nguoiDungDto->MaNguoiDung = $row["MaNguoiDung"];
				$nguoiDungDto->MaLoaiND = $row["MaLoaiND"];
				$nguoiDungDto->MaGianHang = $row["MaGianHang"];
				$nguoiDungDto->HoTen = $row["HoTen"];
				$nguoiDungDto->GioiTinh = $row["GioiTinh"];
				$nguoiDungDto->UserName = $row["UserName"];
				$nguoiDungDto->DiaChi = $row["DiaChi"];
				$nguoiDungDto->Email = $row["Email"];
				$nguoiDungDto->MatKhau = $row["MatKhau"];
				$nguoiDungDto->TinhTrang = $row["TinhTrang"];
				$nguoiDungDto->AnhDaiDien = $row["AnhDaiDien"];
				
				array_push($lstNguoiDung, $nguoiDungDto);		
			}
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$lstNguoiDung = array();
		}
		return $lstNguoiDung;
	}
	
	/*
	*  Lấy thông tin người dùng theo mã người dùng
	*  Edit by THu Hà 20/6/2011
	*/
	public  static  function LayThongTinNguoiDungTheoMa($maNguoiDung)
	{
		$nguoiDungDto = new NguoiDungDTO();
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "select * from `nguoi_dung` where `MaNguoiDung` = $maNguoiDung;";
			//	echo $strSQL;
			$result = mysql_query($strSQL, ConnectDB::$mLink);			
			if(!$result || mysql_num_rows($result) <= 0)
			{
				return null;
			}
			while ($row = mysql_fetch_array($result))
			{
				$nguoiDungDto->MaNguoiDung = $row["MaNguoiDung"];
				$nguoiDungDto->MaLoaiND = $row["MaLoaiND"];
				$nguoiDungDto->MaGianHang = $row["MaGianHang"];
				$nguoiDungDto->HoTen = $row["HoTen"];
				$nguoiDungDto->GioiTinh = $row["GioiTinh"];
				$nguoiDungDto->UserName = $row["UserName"];
				$nguoiDungDto->DiaChi = $row["DiaChi"];
				$nguoiDungDto->Email = $row["Email"];
				$nguoiDungDto->MatKhau = $row["MatKhau"];
				$nguoiDungDto->TinhTrang = $row["TinhTrang"];
				$nguoiDungDto->AnhDaiDien = $row["AnhDaiDien"];
				
			}
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$nguoiDungDto = null;
		}
		return $nguoiDungDto;
	}
	
	/*
	*	Lấy thông tin người dùng theo username
	*	Edit by THu Hà 20/6/2011
	*/
	public  static  function LayThongTinNguoiDungTheoTenTaiKhoan($TenTaiKhoan)
	{
		$nguoiDungDto = new NguoiDungDTO();
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "select * from `nguoi_dung` where `UserName` = '$TenTaiKhoan'";
			$result = mysql_query($strSQL, ConnectDB::$mLink);			
			if(!$result || mysql_num_rows($result) <= 0)
			{
				return null;
			}
			while ($row = mysql_fetch_array($result))
			{
				$nguoiDungDto->MaNguoiDung = $row["MaNguoiDung"];
				$nguoiDungDto->MaLoaiND = $row["MaLoaiND"];
				$nguoiDungDto->MaGianHang = $row["MaGianHang"];
				$nguoiDungDto->HoTen = $row["HoTen"];
				$nguoiDungDto->GioiTinh = $row["GioiTinh"];
				$nguoiDungDto->UserName = $row["UserName"];
				$nguoiDungDto->DiaChi = $row["DiaChi"];
				$nguoiDungDto->Email = $row["Email"];
				$nguoiDungDto->MatKhau = $row["MatKhau"];
				$nguoiDungDto->TinhTrang = $row["TinhTrang"];
				$nguoiDungDto->AnhDaiDien = $row["AnhDaiDien"];
				
			}
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$nguoiDungDto = null;
		}
		return $nguoiDungDto;
	}
	/*
	*	Lấy thông tin người dùng theo email
	*	Edit by THu Hà 20/6/2011
	*/
	public  static  function LayThongTinNguoiDungTheoEmail($email)
	{
		$nguoiDungDto = new NguoiDungDTO();
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "select * from `nguoi_dung` where `Email` = '$email'";
			$result = mysql_query($strSQL, ConnectDB::$mLink);			
			if(!$result || mysql_num_rows($result) <= 0)
			{
				return null;
			}
			while ($row = mysql_fetch_array($result))
			{
				$nguoiDungDto->MaNguoiDung = $row["MaNguoiDung"];
				$nguoiDungDto->MaLoaiND = $row["MaLoaiND"];
				$nguoiDungDto->MaGianHang = $row["MaGianHang"];
				$nguoiDungDto->HoTen = $row["HoTen"];
				$nguoiDungDto->GioiTinh = $row["GioiTinh"];
				$nguoiDungDto->UserName = $row["UserName"];
				$nguoiDungDto->DiaChi = $row["DiaChi"];
				$nguoiDungDto->Email = $row["Email"];
				$nguoiDungDto->MatKhau = $row["MatKhau"];
				$nguoiDungDto->TinhTrang = $row["TinhTrang"];
				$nguoiDungDto->AnhDaiDien = $row["AnhDaiDien"];
				
			}
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$nguoiDungDto = null;
		}
		return $nguoiDungDto;
	}
	/*
	*	Kiểm tra tên user & pass có trùng
	*	Edit by THu Hà 20/6/2011 
	*/
	public  static  function KiemTraDangNhap($tenTaiKhoan, $matKhau)
	{
		$res = false;
		try {
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "select * from `nguoi_dung` 
						where `UserName` = '$tenTaiKhoan' 
								AND `MatKhau` = '$matKhau' AND `TinhTrang` = 2";
			//echo $strSQL;
			$result = mysql_query($strSQL, ConnectDB::$mLink);	
					
			if(!$result || mysql_num_rows($result) <= 0)
			{
				$res = false;
			}
			if(mysql_num_rows($result) == 1)
			{
				$res = true;
			}
			ConnectDB::CloseConnection();				
			
		} catch (Exception $e) {
			$res = false;
		}
		return $res;
	}	
	/**
	 * cập nhật mã gian hàng của người dùng
	 */
	public  static  function CapNhatMaGHCuaNguoiDung($maNguoiDung, $maGH)
	{
		$result = true;
		try 
		{
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "UPDATE `nguoi_dung` SET `MaGianHang` = $maGH, `MaLoaiND` = 2 WHERE `MaNguoiDung` = $maNguoiDung";
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} 
		catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	/**
	 * cập nhật tình trạng & loại người
	 * edit by Thu Hà 26/6/2011
	 * $tinhTrang: 1-chưa kích hoạt, 2-đã kích hoạt, 3-vô hiệu, 4-bị xoá
	 */
	public  static  function CapNhatTinhTrang_LoaiNguoiDung($maNguoiDung, $tinhTrang, $loaiND)
	{
		$result = true;
		try 
		{
			if (!ConnectDB::OpenConnection())
				return false;
				
			$strSQL = "UPDATE nguoi_dung 
						SET  TinhTrang = '$tinhTrang', MaLoaiND = $loaiND
						WHERE MaNguoiDung = '$maNguoiDung'";
			$result = mysql_query($strSQL, ConnectDB::$mLink);
			ConnectDB::CloseConnection();				
			
		} 
		catch (Exception $e) {
			$result = FALSE;
		}
		return $result;
	}
	
}
?>